package com.job.springsea.work0707;

/**
 * @author 于春海
 * @version 1.0
 * @since 2022-07-07 16:16:35
 */
public class Employee {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }
    //这里演示的时在封装里面 外界必须通过 公共访问能力的setter 方法 来设置 对象的属性
    //在方法内 可以添加判断等
    //然而 一般我们封装 就仅仅 私有化成员变量  提供公共的get set 方法
    public void setAge(int age) {
        if(age<18||age>60){
            System.out.println("年龄不符合 此次赋值失败");
            return;
        }
        this.age = age;
    }

    //this()/this(参数) 用在构造方法里 调用 本类的其他构造方法 必须在首行
    //this 当前对象 在构造方法里 指 当前正在被初始化的对象
    //this 当前对象 在成员方法里 指 当前正在调用此方法的对象
    public void showSelf(String name){
        System.out.println("大声对"+name+"我是:"+this.name+"\t我的年龄:"+age);
        this.saySome();
        saySome();
    }

    public void saySome(){
        System.out.println("......");
    }

    public static  int a=19;

    //能否在 本类的静态方法里 使用  本类的静态变量 或方法  可以
    //能否在 本类的静态方法里 使用  本类的成员变量 或方法   不可以
    //能否在 本类的成员方法里 使用  本类的静态变量或方法   可以
    public static void show001(){
        System.out.println(Employee.a+a);
        Employee.show002();
        show002();
    }
    public static void show002(){
        Teacher te= new Teacher();

    }
    //main 方法特殊的方法 程序的入库 可以放在任何类里
    public static void main(String[] args) {
        Employee emp=new Employee();
        emp.name="scott";
        emp.age=20;
        emp.showSelf("老王");
    }

}